home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / QuickTime VR / MacOS / QuickDraw™ 3D 1.0.6F4 SDK / Development / 3DMF parser / 1.0 version / MF3DPC / MFPRIMTV.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-07  |  7.5 KB  |  171 lines  |  [TEXT/dosa]

  1. #ifndef    MF3D_PRIMITIVES_H
  2. #define    MF3D_PRIMITIVES_H
  3. /*==============================================================================
  4.  *
  5.  *    File:        MFPRIMTV.H
  6.  *
  7.  *    Function:    Primitive I/O routines
  8.  *
  9.  *    Version:    Metafile:    Version 1.0 3DMF files
  10.  *                Package:    Release #2 of this code
  11.  *
  12.  *    Author(s):    Rick Wong (RWW), Duet Development Corp.
  13.  *                John Kelly (JRK), Duet Development Corp.
  14.  *
  15.  *    Copyright:    (c) 1995 by Apple Computer, Inc., all rights reserved.
  16.  *
  17.  *    Change History (most recent first):
  18.  *        Fabio    Changed file name to 8 characters
  19.  *        F3A_RWW    TOC stuff works.
  20.  *        F2D_RWW    File created.
  21.  *==============================================================================
  22.  */
  23. #if defined(applec) || defined(__MWERKS__) || defined(THINK_C)
  24. #pragma once
  25. #endif
  26.  
  27. #include "MFTYPES.H"
  28. #include "MFINTOBJ.H"
  29. #include "MFLABELS.H"
  30. #include "MFOBJTYP.H"
  31.  
  32. MF3DErr    MF3D_GetPrimitivesAccessor(MF3DDataFormatEnum inDataFormat,
  33.                 MF3D_IOPrimitivesTable *outPrimitives);
  34.  
  35. /*==============================================================================
  36.  *    Validation routines
  37.  *
  38.  *    do nothing at the moment
  39.  *==============================================================================
  40.  */
  41. #define    MF3D_ValidateReadSize(metafile, size)
  42. #define    MF3D_ValidateWriteSize(metafile, size)
  43.  
  44. /*==============================================================================
  45.  *    I/O Dispatchers
  46.  *==============================================================================
  47.  */
  48. /* integers */
  49. MF3DErr    MF3D_Uns8Read(MF3D_FilePtr metafile, MF3DUns8 *data);
  50. MF3DErr    MF3D_Uns8Write(MF3D_FilePtr metafile, MF3DUns8 data);
  51. MF3DErr    MF3D_Uns16Read(MF3D_FilePtr metafile, MF3DUns16 *data);
  52. MF3DErr    MF3D_Uns16Write(MF3D_FilePtr metafile, MF3DUns16 data);
  53. MF3DErr    MF3D_Uns32Read(MF3D_FilePtr metafile, MF3DUns32 *data);
  54. MF3DErr    MF3D_Uns32Write(MF3D_FilePtr metafile, MF3DUns32 data);
  55. MF3DErr    MF3D_Uns64Read(MF3D_FilePtr metafile, MF3DUns64 *data);
  56. MF3DErr    MF3D_Uns64Write(MF3D_FilePtr metafile, MF3DUns64 data);
  57. MF3DErr    MF3D_Int8Read(MF3D_FilePtr metafile, MF3DInt8 *data);
  58. MF3DErr    MF3D_Int8Write(MF3D_FilePtr metafile, MF3DInt8 data);
  59. MF3DErr    MF3D_Int16Read(MF3D_FilePtr metafile, MF3DInt16 *data);
  60. MF3DErr    MF3D_Int16Write(MF3D_FilePtr metafile, MF3DInt16 data);
  61. MF3DErr    MF3D_Int32Read(MF3D_FilePtr metafile, MF3DInt32 *data);
  62. MF3DErr    MF3D_Int32Write(MF3D_FilePtr metafile, MF3DInt32 data);
  63. MF3DErr    MF3D_Int64Read(MF3D_FilePtr metafile, MFINT64 *data);
  64. MF3DErr    MF3D_Int64Write(MF3D_FilePtr metafile, MFINT64 data);
  65. /* floats */
  66. MF3DErr    MF3D_Float32Read(MF3D_FilePtr metafile, MF3DFloat32 *data);
  67. MF3DErr    MF3D_Float32Write(MF3D_FilePtr metafile, MF3DFloat32 data);
  68. MF3DErr    MF3D_Float64Read(MF3D_FilePtr metafile, MF3DFloat64 *data);
  69. MF3DErr    MF3D_Float64Write(MF3D_FilePtr metafile, MF3DFloat64 data);
  70. /* strings */
  71. MF3DErr    MF3D_CStringRead(MF3D_FilePtr metafile, MF3DCStringPtr *data);
  72. MF3DErr    MF3D_CStringWrite(MF3D_FilePtr metafile, MF3DCStringPtr data);
  73. /* raw data */
  74. MF3DErr    MF3D_RawDataRead(MF3D_FilePtr metafile, MF3DSize size,
  75.                 MF3DRawDataPtr data);
  76. MF3DErr    MF3D_RawDataWrite(MF3D_FilePtr metafile, MF3DSize size,
  77.                 MF3DRawDataPtr data);    
  78. /* enums */
  79. MF3DErr    MF3D_EnumRead(MF3D_FilePtr metafile, MF3D_EnumTablePtr labelID,
  80.         MF3DEnumData *data);
  81. MF3DErr    MF3D_EnumWrite(MF3D_FilePtr metafile, MF3D_EnumTablePtr labelID,
  82.         MF3DEnumData data);
  83. /* flags */
  84. MF3DErr    MF3D_FlagsRead(MF3D_FilePtr metafile, MF3D_FlagTablePtr labelID,
  85.         MF3DFlagData *data);
  86. MF3DErr    MF3D_FlagsWrite(MF3D_FilePtr metafile, MF3D_FlagTablePtr labelID,
  87.         MF3DFlagData data);
  88. /* object ids */
  89. MF3DErr    MF3D_ObjIDRead(MF3D_FilePtr metafile, MF3DObjType *data);
  90. MF3DErr    MF3D_ObjWrite(MF3D_FilePtr metafile, MF3DObjType data);
  91. /* begin/end (size) */
  92. MF3DErr    MF3D_BeginRead(MF3D_FilePtr metafile, MF3D_ObjStuffPtr *objStuff,
  93.                 MF3DReferenceID    *refID, MF3DObjType *objType);
  94. MF3DErr    MF3D_EndRead(MF3D_FilePtr metafile);
  95. MF3DErr    MF3D_BeginWrite(MF3D_FilePtr metafile, MF3DVoidObjPtr object,
  96.                 MF3D_ObjStuffPtr *objStuff);
  97. MF3DErr    MF3D_EndWrite(MF3D_FilePtr metafile, MF3DVoidObjPtr object);
  98. /* object types */
  99. MF3DErr    MF3D_ObjTypeRead(MF3D_FilePtr metafile, MF3D_ObjStuffPtr *objStuff,
  100.                 MF3DObjType *objType);
  101. MF3DErr    MF3D_ObjTypeWrite(MF3D_FilePtr metafile, MF3DVoidObjPtr object,
  102.                 MF3D_ObjStuffPtr *objStuff);
  103. /* references */
  104. MF3DErr    MF3D_RefRead(MF3D_FilePtr metafile, MF3DPositionReference *data);
  105. MF3DErr    MF3D_RefWrite(MF3D_FilePtr metafile, MF3D_TOCPosition data);
  106. MF3DErr    MF3D_TOCRefWrite(MF3D_FilePtr metafile, MF3DPositionReferencePtr data);
  107. MF3DErr    MF3D_LabelWrite(MF3D_FilePtr metafile, MF3DReferenceInfoPtr data,
  108.                 MF3DBinaryFilePosition location, MF3DObjType type);
  109.  
  110. /* booleans */
  111. MF3DErr    MF3D_BooleanRead(MF3D_FilePtr metafile, MF3DBoolean *data);
  112. MF3DErr    MF3D_BooleanWrite(MF3D_FilePtr metafile, MF3DBoolean data);
  113.  
  114. /* preprocess */
  115. MF3DErr    MF3D_PreprocessFile(MF3D_FilePtr metafile);
  116.  
  117. /* get reference name */
  118. MF3DCStringPtr    MF3D_GetRefName(MF3D_FilePtr metafile, MF3DReferenceID refID);
  119.  
  120. /* postprocess */
  121. MF3DErr    MF3D_PostprocessFile(MF3D_FilePtr metafile);
  122.  
  123. /*==============================================================================
  124.  *    Basic 3-D Types
  125.  *==============================================================================
  126.  */
  127. MF3DErr    MF3D_Point2DRead(MF3D_FilePtr metafile, MF3DPoint2D *point);
  128. MF3DErr    MF3D_Point2DWrite(MF3D_FilePtr metafile, MF3DPoint2D point);
  129. MF3DErr    MF3D_Point3DRead(MF3D_FilePtr metafile, MF3DPoint3D *point);
  130. MF3DErr    MF3D_Point3DWrite(MF3D_FilePtr metafile, MF3DPoint3D point);
  131. MF3DErr    MF3D_RationalPoint3DRead(MF3D_FilePtr metafile,
  132.                 MF3DRationalPoint3D *point);
  133. MF3DErr    MF3D_RationalPoint3DWrite(MF3D_FilePtr metafile,
  134.                 MF3DRationalPoint3D point);
  135. MF3DErr    MF3D_RationalPoint4DRead(MF3D_FilePtr metafile,
  136.                 MF3DRationalPoint4D *point);
  137. MF3DErr    MF3D_RationalPoint4DWrite(MF3D_FilePtr metafile,
  138.                 MF3DRationalPoint4D point);
  139. MF3DErr    MF3D_Vector3DRead(MF3D_FilePtr metafile, MF3DVector3D *vector);
  140. MF3DErr    MF3D_Vector3DWrite(MF3D_FilePtr metafile, MF3DVector3D vector);
  141. MF3DErr    MF3D_QuaternionRead(MF3D_FilePtr metafile, MF3DQuaternion *quaternion);
  142. MF3DErr    MF3D_QuaternionWrite(MF3D_FilePtr metafile,
  143.                 MF3DQuaternion quaternion);
  144. MF3DErr    MF3D_Matrix3x3Read(MF3D_FilePtr metafile, MF3DMatrix3x3 matrix);
  145. MF3DErr    MF3D_Matrix3x3Write(MF3D_FilePtr metafile, MF3DConstMatrix3x3 matrix);
  146. MF3DErr    MF3D_Matrix4x4Read(MF3D_FilePtr metafile, MF3DMatrix4x4 matrix);
  147. MF3DErr    MF3D_Matrix4x4Write(MF3D_FilePtr metafile, MF3DConstMatrix4x4 matrix);
  148. MF3DErr    MF3D_RGBColorRead(MF3D_FilePtr metafile, MF3DRGBColor *color);
  149. MF3DErr    MF3D_RGBColorWrite(MF3D_FilePtr metafile, MF3DRGBColor color);
  150. MF3DErr    MF3D_Param2DRead(MF3D_FilePtr metafile, MF3DParam2D *param);
  151. MF3DErr    MF3D_Param2DWrite(MF3D_FilePtr metafile, MF3DParam2D param);
  152.  
  153. /*==============================================================================
  154.  *    Comments
  155.  *==============================================================================
  156.  */
  157. MF3DErr    MF3D_CommentStrWrite(MF3D_FilePtr metafile, const char *data);
  158. MF3DErr    MF3D_CommentNumWrite(MF3D_FilePtr metafile, MF3DInt32 data);
  159.  
  160. /*==============================================================================
  161.  *    Other Routines
  162.  *==============================================================================
  163.  */
  164. MF3DErr    MF3D_PositionReferenceDisposer(MF3DConstPositionReferencePtr inPosRef);
  165. MF3DErr MF3D_VariableUnsRead(MF3D_FilePtr inMetafilePtr, MF3DUns32 inMaxValue,
  166.                 MF3DUns32Ptr outValue);
  167. MF3DErr MF3D_VariableUnsWrite(MF3D_FilePtr inMetafilePtr, MF3DUns32 inMaxValue,
  168.                 MF3DUns32 inValue);
  169.  
  170. #endif
  171.